package scripts.salidasDeRobots;

import org.apache.log4j.Logger;

public class SalidasDeRobots extends PosicionamientosRobots {

	Logger logger = Logger.getLogger( this.getClass());


	public String procesarSalida(int num){
		String res = "";
		logger.info( "Comienza metodo para procesar las salidas" );
		
		switch ( num ) {
		case 1:
			res = this.salida1();
			break;
		case 2:
			res = this.salida2();
			break;
		case 3:
			res = this.salida3();
			break;
		case 4:
			res = this.salida4();
			break;
		case 5:
			res = this.salida5();
			break;
		case 6:
			res = this.salida6();
			break;
		case 7:
			res = this.salida7();
			break;
		case 8:
			res = this.salida8();
			break;
		default:
			break;
		}
		logger.info( "Metodo ProcesarSalida finalizado con exito" );
		return res;
	}

	// Hacer nada
	public String salida1() {

		String salida = "salida(){\n}\n";
		return salida;
	}
	
	// Salir caminando
	public String salida2() {

		String salida = "salida(){\n\twalk()\n}\n";
		return salida;
	}
	
	// Salir corriendo
	public String salida3() {

		String salida = "salida(){\n\twalk()\n\twait(0.04)\n\trun()\n}\n";
		return salida;
	}
	
	// Salir todos hacia la derecha
	public String salida4() {

		String salida = "\nsalida(){\n\tnew bool:posicionado = false \n\tnew float:direccionActual = getDirection()" +
						"\n\tnew float:rotacion = 0.0 \n\tif ((direccionActual >= 0.0) && (direccionActual <= Pi)){" +
						"\n\t\trotate(0.0) \n\t\tposicionado = true \n\t} else { \n\t\trotate(2*Pi) \n\t\tposicionado = true" +
						"\n\t} \n\tif (posicionado == true){ // ESPERO QUE TERMINE EL GIRO \n\t\twait(2.0)" +
						"\n\t\twalk() \n\t\twait(0.04) \n\t\trun() \n\t\twait(0.5) \n\t} \n}\n";
		return salida;
	}

	// Salir al centro (sin dividirse)
	public String salida5() {

		String salida = "salida(){\n5\n}\n";
		return salida;
	}
	
	// Salir al centro (dividiendose)
	public String salida6() {

		String salida = "salida(){\n6\n}\n";
		return salida;
	}
	
	// Salir hacia los lados
	public String salida7() {

		String salida = "salida(){\n7\n}\n";
		return salida;
	}
	
	// salida robotito
	public String salida8() {
		PosicionamientosRobots salidaAtaque = new PosicionamientosRobots();
		String salida = "\nsalida(){\n" + salidaAtaque.armarRobotito() + "}\n\n\n";
		return salida;
	}    
}
